Models may be used to simulate physical systems. For example, a graphical model may be used to represent a complex control system for a plant. The graphical model may include entities, such as blocks, that reference executable code for performing operations of the control system when the graphical model executes. The blocks can vary in type and/or number and may be connected together to build large, complex models (e.g., models including hundreds or more interconnected blocks).
In some modeling environments, users may be able to use blocks in a default configuration, such as a configuration provided by a vendor. Or, the users may be able to modify a configuration for the block to allow the block to operate in a modified manner when a model is executed. For example, a filter block may include a default filter algorithm that can be used in a first model. The user may want to compare the operation of the default filter algorithm with a modified filter algorithm created by the user. The user may modify the default filter block to include the user's algorithm and may use the modified filter block in a second model.
The user may run the first and second models side by side to compare how the models perform with respect to design criteria. When outputs for one of the models do not agree with an expected result, the user may find that it is difficult to identify the source of the error. For example, the model may include numerous blocks in addition to the filter block, and the user may be unable to determine whether a problem occurred at the output of the filter block or at the output of another block in the model.
Assume for sake of example, that the modified filter algorithm is more sensitive to a range of input values than the default filter algorithm. An output from a block that feeds the modified filter block may have an output value that causes the modified filter algorithm to behave in an unexpected manner, whereas the default filter lock operates correctly when it receives the output value. The modified filter output may then cause other blocks in the model to behave unexpectedly. Conventional modeling environments may not provide users with a way to reliably identify sources of discrepancies in models when the results from one model are compared to the results for another model.